package com.mingqijia.gassafety.shared.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.util.CollectionUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

/**
 * 角色类型
 * @author Damon S.
 * @version v1.0.1
 * @date 2020年05月30日 10:58
 */
@Getter
@RequiredArgsConstructor
public enum RoleType {
    /**营销策略状态: -1非法值，0平台管理员，1企业管理员**/
    NA(-1),
    SUPER(0),
    ADMIN(1);
    
    private final int code;
    
    public static RoleType parse(int code) {
        List<RoleType> filtered = Arrays.stream(RoleType.values())
                .filter(state -> Objects.equals(state.getCode(), code))
                .collect(Collectors.toList());
        return CollectionUtils.isEmpty(filtered) ? NA : filtered.get(0);
    }
}
